<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                template="/templates/mantenimiento.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                xmlns:r="http://richfaces.org">
    <ui:define name="title">
        Ingreso de pacientes
    </ui:define>    
    <ui:define name="datos">
        <center>
            <h:panelGrid id="panelDatos">
                <h:form id="formDatos">
                    <p:focus id="foco" />
                    <p:panel header="Información" >
                        <h:panelGrid columns="16" >
                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputLabel value="Fecha:" />
                            <p:calendar size="10" required="true" label="Fecha de ingreso"  placeholder="Fecha de ingreso"
                                        value="#{jsfIngreso.object.hrdFecha}"  id="fechaIngreso">
                            </p:calendar> 
                            <f:verbatim/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputLabel value="Hora:" />
                            <p:calendar size="10" required="true" pattern="HH:mm a" timeOnly="true"  label="Hora de ingreso"  placeholder="Hora de ingreso"
                                        value="#{jsfIngreso.object.hrdHoraIngreso}"  id="horaIngreso">
                            </p:calendar> 
                            <f:verbatim/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Lugar procedencia" />
                            <p:selectOneMenu style="width: 190px" required="true"  label="Lugar procedencia" id="lugarProcedencia"
                                             converter="JsfConverterLugarProcedencia"  value="#{jsfIngreso.hosReferencia.hosLugarProcedencia}" >                              
                                <f:selectItem itemLabel="Seleccione ..."/>
                                <f:selectItems value="#{jsfLugarProcedencia.selectedItem}" var="item"/>
                            </p:selectOneMenu>
                            <f:verbatim/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputText value="Servicio" />
                            <p:selectOneMenu style="width: 190px" required="true"  label="Servicio" id="servicio"
                                             converter="JsfConverterServicio"  value="#{jsfIngreso.object.farServicio}" >                              
                                <f:selectItem itemLabel="Seleccione ..."/>
                                <f:selectItems value="#{jsfServicio.selectedItem}" var="item"/>
                            </p:selectOneMenu>
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message for="fechaIngreso" />
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message for="horaIngreso" />
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message for="lugarProcedencia" />
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message for="servicio" />
                            <f:verbatim/>

                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputLabel value="# cama:" />
                            <p:spinner id="cama" placeholder="Ingresar numero de cama" label="Numero de cama"  
                                       max="46" min="0" size="8" required="true" value="#{jsfIngreso.object.hrdCama}"  >
                            </p:spinner>
                            <f:verbatim/>

                            <f:verbatim/>
                            <f:verbatim/>
                            <p:message for="servicio" />
                            <f:verbatim/>



                        </h:panelGrid>
                    </p:panel>

                    <p:panel id="paciente" header="Paciente" >
                        <h:panelGrid id="pndPaciente" columns="5" >
                            <h:graphicImage library="images/ajax" name="bullet.gif" />
                            <h:outputLabel  value="Buscar por:" />
                            <p:selectOneMenu  label="Buscar:" id="tipo" value="#{jsfIngreso.tipoBusqueda}"   >                              
                                <f:selectItem itemLabel="Cédula" itemValue="1"/>
                                <f:selectItem itemLabel="Número carpeta" itemValue="2"/>
                                <f:selectItem itemLabel="Nombres" itemValue="3"/>
                                <f:selectItem itemLabel="Pasaporte" itemValue="4"/>
                                <p:ajax event="change" process="pndPaciente" update="pndPaciente"/>
                            </p:selectOneMenu>
                            <p:inputText rendered="#{jsfIngreso.tipoBusqueda ne 3}" value="#{jsfIngreso.parametroBusqueda}" size="12" maxlength="15" id="valorBusqueda" />
                            <h:panelGrid rendered="#{jsfIngreso.tipoBusqueda eq 3}"  id="datosNombreBusqueda" columns="8">
                                <h:graphicImage library="images/ajax" name="bullet.gif" />
                                <h:outputText value="Apellido paterno:"/>
                                <p:inputText label="Busqueda: Apellido paterno" id="apePPop" size="30"  value="#{jsfIngreso.apellidoPaternoBusqueda}"/>
                                <f:verbatim/>


                                <f:verbatim/>
                                <h:outputText value="Apellido materno:"/>
                                <p:inputText label="Apellido materno" id="apeMPop" size="30"  value="#{jsfIngreso.apellidoMaternoBusqueda}"/>
                                <f:verbatim/>

                                <f:verbatim/>
                                <f:verbatim/>
                                <p:message  for="apePPop"/>
                                <f:verbatim/>

                                <f:verbatim/>
                                <f:verbatim/>
                                <p:message  for="apeMPop"/>
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputText value="Primer nombres:"/>
                                <p:inputText label="Primer nombres" id="pNombrePop" size="30"  value="#{jsfIngreso.primerNombreBusqueda}"/>
                                <f:verbatim/>


                                <f:verbatim/>
                                <h:outputText value="Segundo nombre:"/>
                                <p:inputText label="Segundo nombre" id="sNombrePop" size="30"  value="#{jsfIngreso.segundoNombreBusqueda}"/>
                                <f:verbatim/>


                                <f:verbatim/>
                                <f:verbatim/>
                                <p:message  for="pNombrePop"/>
                                <f:verbatim/>

                                <f:verbatim/>
                                <f:verbatim/>
                                <p:message  for="sNombrePop"/>
                                <f:verbatim/>

                            </h:panelGrid>
                            <r:commandLink action="#{jsfIngreso.buscarHc}" execute="tipo valorBusqueda datosNombreBusqueda" render="paciente growl"   title="Buscar historia clínica">
                                <h:graphicImage url="#{resource['images:buscar.jpg']}" height="30px" width="30px"  styleClass="pic" />
                            </r:commandLink>
                        </h:panelGrid>
                        <h:panelGrid id="listaClinica" >
                            <p:dataTable id="listaHistorias" rendered="#{not empty jsfIngreso.listaHClinica}" value="#{jsfIngreso.listaHClinica}" var="item"  rows="5" paginator="true"  
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                         rowsPerPageTemplate="5,10,15"> 
                                <f:facet name="noData">
                                    No se encontro resultados
                                </f:facet>
                                <p:column headerText="#" footerText="#">
                                    <h:outputText value="#{jsfIngreso.listaHClinica.indexOf(item)+1}"/>
                                </p:column>
                                <p:column headerText="C. Identidad" footerText="C. Identidad">
                                    <h:outputText value="#{item.chcCedula}"/>
                                </p:column>
                                <p:column headerText="Nombre" footerText="Nombre">
                                    <h:outputText value="#{item.chcNombreFull}"/>
                                </p:column>

                                <p:column headerText="Historia Clínica" footerText="Historia Clínica">
                                    <h:outputText value="#{item.chcHistoriaClinica}"/>
                                </p:column>


                                <p:column  headerText="Estado" footerText="Estado">
                                    <h:outputText value="#{item.chcEstado eq 1 ? 'ACTIVO':item.chcEstado eq 2 ?'TEMPORAL':'INACTIVO'}" styleClass="#{item.chcEstado==1?'textoNegrita':item.chcEstado==1?'textoNegrita':'campo-obligatorio textoNegrita'}"/>
                                </p:column> 
                                <p:column  headerText="Acción" footerText="Acción">
                                    <r:commandLink execute="@this" render="datosHc listaClinica growl" action="#{jsfIngreso.cargarPaciente(item)}" title="Cargar paciente">
                                        <h:graphicImage library="images/icons" name="page-edit-icon-24.png" styleClass="pic" />
                                    </r:commandLink>


                                </p:column>

                            </p:dataTable>
                        </h:panelGrid>
                        <h:panelGrid id="datosHc" >
                            <h:panelGrid  rendered="#{not empty jsfIngreso.hosReferencia.cexHistoriaClinica.chcId}"  columns="16"  >


                                <f:verbatim/>
                                <h:outputLabel  value="Apellido P:" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcApellidoPaterno}" />
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Primer nombre" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcPrimerNombre}" />
                                <f:verbatim/>


                                <f:verbatim/>
                                <h:outputLabel  value="Fecha/Nac" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcFechaNacimiento}" >
                                    <f:convertDateTime pattern="dd/MM/yyyy"/>
                                </h:outputText>
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Edad" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcEdad}" />
                                <f:verbatim/>


                                <f:verbatim/>
                                <h:outputLabel  value="Sexo" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcGenero eq 1 ? 'HOMBRE':'MUJER'}" />
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Parroquia" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.admDivisionPolitica.nombre}" />
                                <f:verbatim/>


                                <f:verbatim/>
                                <h:outputLabel  value="Apellido M:" />
                                <h:outputText styleClass="letraTomate" value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcApellidoMaterno}" />
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Segundo Nombre" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcSegundoNombre}" />
                                <f:verbatim/>



                                <f:verbatim/>
                                <h:outputLabel  value="Barrio" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.chcBarrio}" />
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Iden/Etnica" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.cexGrupoCultural.dcuNombre}" />
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Seguro" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.cexTipoSeguro.ctsNombre}" />
                                <f:verbatim/>

                                <f:verbatim/>
                                <h:outputLabel  value="Nacionalidad" />
                                <h:outputText styleClass="letraTomate"  value="#{jsfIngreso.hosReferencia.cexHistoriaClinica.cexNacionalidad.cnaNombre}" />
                                <f:verbatim/>


                            </h:panelGrid>
                        </h:panelGrid>
                    </p:panel>
                    <p:panel header="Diagnostico" >
                        <h:panelGrid columns="4"   >
                            <f:verbatim/>
                            <p:commandButton value="Buscar" id="btnBuscardiag"  type="button" title="Buscar diagnostico"   />
                            <p:overlayPanel id="chartDaig" for="btnBuscardiag" hideEffect="fade">

                                <h:panelGrid id="datosDiagPop" columns="6">
                                    <h:graphicImage library="images/ajax" name="bullet.gif" />
                                    <h:outputText value="Buscar por:"/>
                                    <p:selectOneMenu style="width: 120px" label="Buscar por" id="busPor" value="#{jsfIngreso.tipoBusquedaDiagnostico}"   >                              
                                        <f:selectItem itemLabel="CÓDIGO" itemValue="1"/>
                                        <f:selectItem itemLabel="DIAGNOSTICO" itemValue="2"/>
                                    </p:selectOneMenu>
                                    <p:message  for="busPor"/>


                                    <p:inputText label="Valor de busqueda" id="parDiag"  size="30"  value="#{jsfIngreso.busquedaDiagnostico}"/>
                                    <p:message  for="parDiag"/>

                                </h:panelGrid>

                                <h:panelGrid >
                                    <center>
                                        <r:commandButton id="btBuscar1" execute="datosDiagPop"  render="listaSimpleDiagnosticoPop" value="Buscar" action="#{jsfIngreso.buscarDiagnostico}"  title="Buscar">

                                        </r:commandButton>

                                    </center>

                                    <p:dataTable emptyMessage="No se encontro diagnosticos" id="listaSimpleDiagnosticoPop"  value="#{jsfIngreso.listadiagnosticoPopup}" var="item"  rows="6" paginator="true"   
                                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                                 rowsPerPageTemplate="5,10,15"> 

                                        <p:column headerText="#">
                                            <h:outputText value="#{jsfIngreso.listadiagnosticoPopup.indexOf(item)+1}"/>
                                        </p:column>
                                        <p:column headerText="Código">
                                            <h:outputText value="#{item.cdiCodigo}"/>
                                        </p:column>
                                        <p:column headerText="Nombre">
                                            <h:outputText value="#{item.cdiNombre}"/>
                                        </p:column>


                                        <p:column headerText="Agregar">
                                            <r:commandLink execute="@this" render="growl diagnosticoText  commonStatus" action="#{jsfIngreso.agregarDiagnostico(item)}" title="Agregar diagnostico">
                                                <h:graphicImage library="images/icons" name="page-edit-icon-24.png" styleClass="pic" />
                                            </r:commandLink>
                                        </p:column>

                                    </p:dataTable>


                                </h:panelGrid>

                            </p:overlayPanel>
                            <h:outputFormat style="width: 15px"  styleClass="letraTomate" value="[#{jsfIngreso.emeDiagnosticoIngreso.cexDiagnostico.cdiCodigo}] #{jsfIngreso.emeDiagnosticoIngreso.cexDiagnostico.cdiNombre}" id="diagnosticoText" />
                            <p:message for="diagnosticoText" />
                        </h:panelGrid>
                        <h:panelGrid id="diagnostico" columns="8"   >


                            <f:verbatim/>
                            <h:outputText value="Tipo" />
                            <p:selectOneMenu style="width: 150px" required="true"  label="Tipo de atención" id="tipoDiag"  value="#{jsfIngreso.emeDiagnosticoIngreso.edaTipo}" >                              
                                <f:selectItem itemLabel="0-Seleccionar..." itemValue="0" />
                                <f:selectItem itemLabel="1-PRESUNTIVO" itemValue="1" />
                                <f:selectItem itemLabel="2-DEFINITIVO" itemValue="2" />
                            </p:selectOneMenu>
                            <p:message for="tipoDiag" />

                            <f:verbatim/>
                            <h:outputText value="Observación" />
                            <p:inputTextarea  rows="2" cols="60" value="#{jsfIngreso.emeDiagnosticoIngreso.edaObservacion}" id="obsDiag" label="Primario"   />  
                            <p:message for="obsDiag" />
                        </h:panelGrid>
                    </p:panel>
                    <center>
                        <h:panelGrid columns="2" >
                            <h:panelGroup id="panelBotones">
                                <p:commandButton id="btGrabar" process="@form" update=":panelDatos" value="Grabar" action="#{jsfIngreso.grabarAction}"  title="Grabar registro">
                                </p:commandButton>
                                <p:commandButton id="btNuevo" process="@this" update="@form" value="Nuevo" action="#{jsfIngreso.nuevoAction()}"  title="Limpiar o crear nuevo registro">
                                </p:commandButton>

                            </h:panelGroup>
                            <p:ajaxStatus id="commonStatus">
                                <f:facet name="start">
                                    <h:graphicImage library="images/ajax" name="status2.gif"/>
                                </f:facet>
                            </p:ajaxStatus>
                        </h:panelGrid>
                    </center>
                    <p:message for="formDatos">
                        <f:facet name="errorMarker">
                            <h:graphicImage library="images/ajax" name="warning.gif"/>
                        </f:facet>
                        <f:facet name="infoMarker">
                            <h:graphicImage library="images/ajax" name="passed.gif"/>
                        </f:facet>
                    </p:message>

                    <h:panelGrid id="panelLista">
                        <p:dataTable id="listaSimple" value="#{jsfIngreso.lista}" var="var" rendered="#{jsfIngreso.lista.size()>0}"  rows="5" paginator="true"   
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                     rowsPerPageTemplate="5,10,15" rowIndexVar="rowIndex" rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'odd-row' : 'even-row'}">
                            <f:facet name="header">
                                <h:outputText value="Turnos registrados [#{jsfIngreso.lista.size()}]" />
                            </f:facet>
                            <p:column headerText="Fecha" >
                                <h:outputText value="#{var.hrdFecha}">
                                    <f:convertDateTime pattern="yyyy-MM-dd"/>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="Hora">
                                <h:outputText value="#{var.hrdHoraIngreso}">
                                    <f:convertDateTime pattern="HH:mm"/>
                                </h:outputText>
                            </p:column>
                            <p:column headerText="Paciente"   filterBy="#{var.hosReferenciaContrareferencia.cexHistoriaClinica.chcHistoriaClinica}" >
                                <h:outputText value="#{var.hosReferenciaContrareferencia.cexHistoriaClinica.chcHistoriaClinica}"/>
                            </p:column>
                            <p:column headerText="Nombres" filterBy="#{var.hosReferenciaContrareferencia.cexHistoriaClinica.chcNombreFull}"   
                                      filterMatchMode="contains">
                                <h:outputText value="#{var.hosReferenciaContrareferencia.cexHistoriaClinica.chcNombreFull}"/>
                            </p:column> 
                            <p:column headerText="Cama" >
                                <h:outputText value="#{var.hrdCama}"/>
                            </p:column> 

                            <p:column headerText="Diagnostico">
                                <p:dataTable id="subListaDiagnostico" var="sVar" rendered="#{var.hosReferenciaContrareferencia.emeDiagnosticoIngresoAltaList.size() > 0}" 
                                             value="#{var.hosReferenciaContrareferencia.emeDiagnosticoIngresoAltaList}"   >
                                    <p:column >
                                        <h:outputText value="#{sVar.cexDiagnostico.cdiCodigo}">
                                        </h:outputText>
                                    </p:column>
                                    <p:column >
                                        <h:outputText value="#{sVar.cexDiagnostico.cdiNombre}">
                                        </h:outputText>
                                    </p:column>
                                </p:dataTable>
                            </p:column>
                            
                            <p:column headerText="Acción">
                                <h:commandLink action="#{jsfIngreso.editarAction(var)}" value="CARGAR" title="Cargar paciente">
                                    <f:ajax execute="@this" event="action" render=":panelDatos"/>
                                </h:commandLink>
                            </p:column>
                        </p:dataTable>

                    </h:panelGrid>


                    <h:panelGroup >
                        <h:graphicImage library="images/ajax" name="bullet.gif" />
                        <h:outputText styleClass="campo-obligatorio" value="Campo obligatorio"/>
                    </h:panelGroup>





                    <p:growl id="growl"  showDetail="true" life="6500" />  
                </h:form>
            </h:panelGrid>
        </center>
    </ui:define>

</ui:composition>
